package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.MediaOrderdRecord;
import com.weixing.mall.provider.model.dto.ads.MediaOrderdRecordDto;
import com.weixing.mall.provider.model.query.MediaOrderRecordQuery;
import com.weixing.mall.provider.model.query.MediaOrderRecordsQuery;
import com.weixing.mall.provider.model.vo.FrontMediaRecordVo;
import com.weixing.mall.provider.model.vo.ads.MediaOrderRecordDetilVo;
import com.weixing.mall.provider.model.vo.ads.MediaOrderRecordShowVo;
import com.weixing.mall.provider.model.vo.ads.MediaOrderRecordsVo;

import java.util.List;

/**
 * <p>
 * 代理商抢购记录 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-18
 */
public interface IMediaOrderdRecordService extends IService<MediaOrderdRecord> {

    IPage<MediaOrderRecordsVo> selectOfPage(Page initMpPage, MediaOrderRecordsQuery mediaOrderRecordsQuery, Long uid);

    List<MediaOrderRecordShowVo> getList( Long adId);

    List<MediaOrderRecordDetilVo> selectListByAgentId(Long agentId);

    int selectNum(MediaOrderRecordQuery mediaOrderRecordQuery);

    void save(MediaOrderdRecordDto mediaOrderdRecordDto, Long uid);

    void changeRecordStatus(long id, int value);

    IPage<FrontMediaRecordVo> selectMyMediaOrder(Page page, MediaOrderRecordQuery mediaOrderRecordQuery,Long agentId);

    void saveMediaOrderdRecord(MediaOrderdRecordDto mediaOrderdRecordDto) throws Exception ;

    void updateFaildStatusBatch(Long adId,Long operatorId);

    void advertising(Long adId);

    void batchUpdateStatus(MediaOrderdRecordDto mediaOrderdRecordDto);

    MediaOrderRecordDetilVo lastApplyTime(Long id,Long agentId);
}